const { User } = require('../../model/user');
const bcrypt = require('bcrypt')

module.exports = async(req, res) => {
    const { email, password } = req.body
        // 如果用户没有输入邮件地址
    if (email.trim().length == 0 || password.trim().length == 0) {
        // 请求格式出现错误
        res.status(400).send('<h4>邮件地址或密码错误</h4>')
            // 阻止程序向下运行
        return
    }

    // 如果查询到了用户,uer变量为对象类型
    // 如果没有查询到用户,user为空
    let user = await User.findOne({ email })

    if (user) {
        let isEqual = await bcrypt.compare(password, user.password)
        if (isEqual) {
            req.session.username = user.username
            req.app.locals.userInfo = user
            res.redirect('/admin/user')
        } else {
            res.status(400).send('<h4>邮件地址或密码错误</h4>')
        }
    } else {
        res.status(400).send('<h4>邮件地址或密码错误</h4>')
    }
}